package com.lkhd.volunteer.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.lkhd.manage.pojo.Job;
import com.lkhd.manage.pojo.Volunteer;
import com.lkhd.manage.povo.VolunteerVo;

import tk.mybatis.mapper.entity.Example;

/**
 * 志愿者服务
 * @author Administrator
 *2018-9-15 21:49:30
 */
public interface VolunteerService {
	
	/**
	 * 申请志愿者
	 * @param volunteer
	 * @return
	 */
	public int applyFor(Volunteer volunteer);
	
	/**
	 * 	志愿者审核是否通过
	 * @param volunteerId
	 * @param isPass true 通过设置状态， false不通过直接删除
	 * @return
	 */
	public int isPass(long volunteerId,boolean isPass);
	
	/**
	 * 	更新志愿者职位(管理员操作)
	 * @param volunteer
	 * @return
	 */
	public int updateVolunteerJob(Volunteer volunteer);
	
	/**
	 *	 冻结/解冻志愿者(管理员操作)
	 * @param volunteer 设置状态 status -1冻结  0正在审核 1通过 
	 * 		管理员应该要设置为什么冻结理由
	 * 		以及status的状态
	 * @return
	 */
	public int freeze(Volunteer volunteer);
	
	/**
	 *  	根据条件查询志愿者列表
	 * @param example
	 * @param pageNum
	 * @param pageSzie
	 * @return
	 */
	public PageInfo<VolunteerVo> selectAllByVolunteer(Example example,int pageNum,int pageSzie);
	
	/**
	 * 	添加职位
	 * @param job
	 * @return
	 */
	public int addJob(Job job);
	
	/**
	 * 	更新职位
	 * @param job
	 * @return
	 */
	public int updateJob(Job job);
	
	/**
	 * 	查询所有职位
	 * @param example
	 * @return
	 */
	public List<Job> selectAllJob(Example example);
}
